/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} val
 * @return {ListNode}
 */
 var removeElements = function(head, val) {
    let ret = new ListNode(0,head) // 生成一个新的头结点
    let cur = ret // 让cur等于新的头结点
    while(cur.next){ // 判断下一个是不是存在
        if(cur.next.val === val){ // 如果下一个在 就判断下一个的值是不是和要找的值一样
            cur.next = cur.next.next // 如果一样就让当前的下一个的指针指向 当前的下一个的下一个的指针
            continue // 然后退出本次循环 继续下一次循环
        }
        cur = cur.next // 如果不是等于要找的值 就让cur移动到下一位继续判断
    }
    return ret.next // 返回原来的头结点的后一位
};